package dimension.starry;

import dimension.starry.block.BlockRegistryManager;
import dimension.starry.block.machine.industry.IndustryMachineRegister;
import dimension.starry.block.machine.simple.SimpleMachineRegister;
import dimension.starry.dataManager.NetWorkRegister;
import dimension.starry.effect.Effects;
import dimension.starry.entity.Attributes;
import dimension.starry.event.EventListener;
import dimension.starry.item.ItemGroups;
import dimension.starry.item.ItemRegisterManager;
import dimension.starry.key.KeybindingRegisterManager;
import net.fabricmc.api.ClientModInitializer;
import net.fabricmc.api.ModInitializer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class StarryDimension implements ModInitializer, ClientModInitializer {

    public static final String MOD_ID = "starry_dimension";
    public static final Logger LOGGER = LoggerFactory.getLogger("StarryDimension");

    @Override
    public void onInitialize() {
        LOGGER.info("Start initialize starry dimension!");
        ItemGroups.onInitialize();
        ItemRegisterManager.onInitialize();
        BlockRegistryManager.onInitialize();
        SimpleMachineRegister.onInitialize();
        IndustryMachineRegister.onInitialize();
        NetWorkRegister.onInitialize();
        Effects.onInitialize();
        Attributes.onInitialize();
        EventListener.onInitialize();
    }

    @Override
    public void onInitializeClient() {
        SimpleMachineRegister.onInitializeClient();
        IndustryMachineRegister.onInitializeClient();
        NetWorkRegister.onInitializeClient();
        EventListener.onInitializeClient();
        KeybindingRegisterManager.onInitializeClient();
    }
}